#ifndef __EI_MAI_SMART_SED_H__
#define __EI_MAI_SMART_SED_H__

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

typedef struct eiMADP_SMART_SED_RESULTS_S {
	EI_NNA_SED_S stNnaResult;
	/* Read Only */
	EI_NNA_AUDIO_FRAME_S *pstNnaData;
} EI_MADP_SMART_SED_RESULTS_S;

typedef EI_S32 (*EI_MADP_SMART_SED_DATA_CB)(EI_HANDLE hSedCap, EI_MADP_SMART_AFRAME_S *pstSmartAFrame,
	EI_MADP_SMART_SED_RESULTS_S *pstDetResults, EI_VOID *pPrivData);
/** the attribute of smart sed det*/
typedef struct eiMADP_SMART_SED_CFG_S {
	EI_BOOL bEnable;
	EI_S32 s32Threshold;
	EI_U32 u32SampleRate;
	EI_U32 u32Bitwidth;
	EI_U32 u32PtNumPerFrm;

	EI_MADP_SMART_SED_DATA_CB pfnDataCB;
	EI_VOID *pPrivData;
} EI_MADP_SMART_SED_CFG_S;

/** the attribute of smart sed cap*/
typedef struct eiMADP_SMART_SED_ATTR_S {
	EI_HANDLE AiDev;
	EI_HANDLE AiChn;
	EI_HANDLE Det;

	EI_MADP_SMART_SED_CFG_S smartSedCfg;
	EI_NNA_SED_CONFIG_S stNNAConfig;
} EI_MADP_SMART_SED_ATTR_S;



#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif

#endif /* __EI_MAI_SMART_SED_H__ */

